{{import "axios"}}
{{import "config" "./config.js"}}

const instance = axios.create(config);

{{ range $key,$file := .Paths}}{{if is_commonjs}}const {{ $key}} = require("./{{$file}}");{{else}}import {{ $key}} from "./{{$file}}";{{end}}
{{$key}}.injure(instance);
{{ end }}

//开启基础路径配置，默认设置为API文档中的第一个配置，可传入数字（API文档中的url的序号），或者字符串，字符串将直接覆盖baseURL配置
instance.enableBaseUrl = (urlOrNo = 0)=>{
    if (urlOrNo instanceof Number){
      if (urlOrNo < config.servers.length){
        instance.baseURL = config.servers[urlOrNo];
      }else{
        throw("输入编号大于servers数量，请检查文档后重试")
      }
    }else if (urlOrNo instanceof String) {
        instance.baseURL = urlOrNo;
    }else {
        throw("传入参数错误，支持数字参数或字符串参数")
    }
}

{{export_str "default"}}instance;